The present invention related to digital video, and in particular, to a method and apparatus for transporting a serial bit stream conforming to DVB-ASI that includes packets of a compressed video stream.
Digital video is now well established and typically uses compressed video streams such as MPEG video streams that include video and audio information.
The European Digital Video Broadcasting (DVB) Standards Association has developed the DVB Asynchronous Serial Interface (DVB-ASI) standard to provide simple transport and interconnection of MPEG2 streams from different manufacturers' equipment. Equipment supporting this widely accepted standard today includes MPEG2 encoders, receivers, multiplexers, servers, and QAM modulators. While originally a European set of standards, DVB specifications and standards, including DVB-ASI, are in widespread use throughout the world, including the USA.
MPEG2 is an ISO/IEC standard for compressing, processing, decompressing, and representing digital video, audio, and combined video and audio.
While the DVB-ASI specification was originally written for interconnecting systems from various vendors, there recently has been a move to use DVB-ASI to store and to transport MPEG streams, e.g., for video on demand (VoD) and for digital video program suppliers. DVB-ASI can be used as the form for transport for example between head ends and video servers. A 270 Mbps DVB-ASI stream can be transported for example over ATM, over DTM, over SONET, over Gigabit Ethernet using IP, and so forth. A DVB-ASI stream may be transported from a video server, for example, to a QAM modulator for transport to a consumer.
A DVB-ASI digital stream is a 270 Mbps unidirectional stream designed for carrying a set of MPEG2 transport streams (TSs), either single program transport streams (SPTSs), multiple program transport streams (MPTSs), or both.
To transport one or more MPEG2 streams via DVB-ASI, a DVB-ASI transmitting interface converts each byte of data in each MPEG2 transport stream (TS) to a 10-bit word by 8B/10B coding. A serializer then converts the 10-bit words to a serial bit stream at a constant 270 Mbps. Each MPEG2 packet has 188 bytes. According to the DVB-ASI specification, to provide for byte/word alignment at the receiving end, each MPEG2 packet is preceded in the DVB-ASI stream by at least two 10-bit synchronization (“sync”) words. The sync words are selected to be recognizable, e.g., so that they can be used for byte/word alignment at the receiving end. The K28.5 “comma characters”—00 1111 1010 or its complement 11 0000 0101 after 8B/10B coding—are used. Thus, at least 190 10-bit words are used to transport each 188-byte packet of MPEG data giving a maximum data throughput of 213 Mbps. Because single program streams are typically at far less than 270 Mbps, additional “stuffing” words are included in the stream to maintain the constant 270 Mbps rate.
A typical ASI stream generator (DVB-ASI transmitting interface) includes a 8B/10B encoder to encode the bytes of MPEG data followed by a serializer to convert the parallel words to a serial bit stream, to insert the sync words and to insert stuffing words as required to generate the 270 Mbps rate bit stream.
A DVB-ASI transmitting interface may be fed by a byte synchronized MPEG transport stream, typically a multiple program transport stream. Stuffing words may also be inserted in the DVB-ASI stream by the serializer in the interface whenever the next encoded 10-bits corresponding to the next MPEG byte to be converted to serial form is not available. The stuffing words typically are the same as the sync words, i.e., K28.5 words so that they are easily recognizable at the receiving side.
FIG. 5A shown how a DVB-ASI stream may contain each MPEG packet as a contiguous block of MPEG data words preceded by at least two K28.5 words. FIG. 5B shows how a DVB-ASI stream may contain each MPEG packet as interspersed MPEG data words with stuffing words (K28.5 words) between MPEG data words. Again, the first data word of an MPEG packet is preceded by at least two K28.5 words. A DVB-ASI stream may contain combination of contiguous blocks of MPEG data words and stuffing words between MPEG data words.
At the receiving end, after transport by some method, e.g., via a fiber link, or by direct connection, the one or more MPEG streams in a received DVB-ASI stream may be reconstructed from the received DVB-ASI stream by a DVB-ASI receiving interface. Converting the DVB-ASI stream includes clock and data recovery to reconstruct the individual bits. Recovered serial data bits are passed to a serial-to-parallel converter that converts the bits to 10-bit words (10B/10B encoded). A decoder then decodes 10-bit words into 8-bit data bytes. Typically, the serial-to-parallel converter also includes a pattern recognizer that can recognize sync words. Once two consecutive sync words are found, the start of the next word marks the boundary of subsequent received data words and establishes proper byte-alignment of decoder output bytes.
The end of a string of two or more sync words precedes the start an MPEG packet. Each MPEG packet includes a header that has an MPEG sync byte (47hex). Typically, the serial-to-parallel converter' pattern recognizer can also recognize MPEG sync byte, even though this sync byte is encoded to a 10-bit MPEG sync word in the physical layer. A sequence of two DVB-ASI sync words followed by an MPEG sync word indicates the start of an MPEG packet.
A DVB-ASI receiving interface that converts a DVB-ASI stream to the embedded MPEG streams also removes the sync words and stuffing words in the DVB-ASI stream.
Consider as an example, the case that digital video in DVB-ASI form is taken from a Satellite by a content supplier. The bit rate of all programs including both video and audio is typically less than a quarter of the DVB-ASI capacity. However, because of the stringent buffer requirements set by the MPEG2 standard, the timing for each arriving MPEG2 transport packet in the DVB-ASI stream has to be maintained. As an example, the jitter for PCR on each of the MPEG transport packet must not exceed 500 ns according to MPEG2 standards. If the timing model of the transport layer is broken, a set-top box at an end user site may experience trouble to decode the content. This timing requirement normally prohibits people from removing the stuffing K28.5 words when the DVB-ASI bitstream are formatted for transport over packet based networks such as SONET, ATM, IP, and so forth.
Thus in the prior art, bandwidth is wasted when transporting DVB-ASI streams.
There thus is a need for a method and apparatus that enables bandwidth to be saved by removing some or all of the stuffing and/or sync words from a DVB-ASI prior to transport while providing for preserving timing information.
There also is a need for a method and apparatus that enables bandwidth to be saved by removing some or all of the stuffing and/or sync words from a DVB-ASI prior to transport while providing for reconstructing a DVB-ASI stream at the receiving end, the reconstructing a DVB-ASI stream having substantially correct timing.